<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    // 1.有一个数组 list=["a","b","c","d","e","f"] 随机取四个元素,放到新数组中,再拼接形成字符串 (可以重复)

    // 注意: 数组是通过下标取值的  => 随机取元素 => 随机下标(0  length-1)
    // var list = ["a","b","c","d","e","f"];
    // var arr = [];
    // for(var i = 0;i< 4; i++){
    //     // var index = Math.round(Math.random()*(list.length-1));
    //     var index = Math.floor(Math.random()*list.length);
    //     var char = list[index];
    //     arr.push(char);  // 随机元素 直接放置
    // }
    // console.log(arr);


    // 1.1  要求随机的四个元素 不重复  

    // var list = ["a","b","c","d","e","f"];
    // var arr = [];
    // for(var i = 0;i< 4; i++){
    //     // var index = Math.round(Math.random()*(list.length-1));
    //     var index = Math.floor(Math.random()*list.length);
    //     var char = list[index]; 

    //     // 每次放之前 判断数组中是否存在 该元素
    //     if(arr.indexOf(char) == -1) { //不存在 => 放
    //         arr.push(char);  
    //     }else{
    //         console.log(char+"已存在");  //已存在   => 没有做任何处理  => 数组arr缺少元素
    //     }

    // }
    // console.log(arr);


    //重复  => 恭喜你 再来一次(计数count)
    // var list = ["a","b","c","d","e","f"];
    // var arr = [];
    // var count = 4;
    // for(var i = 0;i< count; i++){
    //     // var index = Math.round(Math.random()*(list.length-1));
    //     var index = Math.floor(Math.random()*list.length);
    //     var char = list[index]; 

    //     // 每次放之前 判断数组中是否存在 该元素
    //     if(arr.indexOf(char) == -1) { //不存在 => 放
    //         arr.push(char);  
    //     }else{
    //         console.log(char+"已存在");  //已存在
    //         count++;   //重复  => 恭喜你 再来一次
    //     }

    // }
    // console.log(arr);


     //重复  => 本次不算 重来
    // var list = ["a","b","c","d","e","f"];
    // var arr = [];
    // for(var i = 0;i< 4; i++){//  假设 i = 1 时重复 
    //     // var index = Math.round(Math.random()*(list.length-1));
    //     var index = Math.floor(Math.random()*list.length);
    //     var char = list[index]; 

    //     // 每次放之前 判断数组中是否存在 该元素
    //     if(arr.indexOf(char) == -1) { //不存在 => 放
    //         arr.push(char);  
    //     }else{
    //         console.log(char+"已存在");  //已存在
    //         i--;  //假设 i = 1 时重复   => i-- => i=0 =>本次循环接收之后 走i++ => i = 1
    //     }

    // }
    // console.log(arr);

    var list = ["a","b","c","d","e","f"];
    var arr = [];

    while(true){
        var index = Math.floor(Math.random()*list.length);
        var char = list[index]; 
        // 每次放之前 判断数组中是否存在 该元素
        if(arr.indexOf(char) == -1) { //不存在 => 放
            arr.push(char);  
            if(arr.length == 4){
                break;
            }
        }
    }    
    console.log(arr);

    // 升级版  => 随机一个验证码 包含 大写 小写 数字   => 是否有大写 是否有小写 是否有数字
    // var list = ["a","b","c","A","B","C",0,1,2,3,4,5,6,7,8,9];











</script>
</html>